package Visitables;

import Composite.*;
import fichiers.*;
import java.io.File;
import support.Options;


public class Visiteur_MiseAJourAjouter implements Visiteur {
    
    public Visiteur_MiseAJourAjouter() {
    }
    
    public void visiteDossier(Dossier d) {
        
        if (d.getVerification() == true) {
            File listeFichier[] = d.getFichierCourant().listFiles();
            if (listeFichier != null) {
                for (int i = 0; i < listeFichier.length; i++) {
                    
                    boolean estUnDossier = listeFichier[i].isDirectory();
                    boolean estUneImage = Options.estUneImage(listeFichier[i]);
                    if ((estUnDossier || estUneImage) && d.contientFichier(listeFichier[i]) == false) {
                        Element t;
                        if (estUnDossier) {
                            t = new Dossier(d, listeFichier[i], listeFichier[i].getName());
                            d.addChild(t, d.getIndex(t));
                            
                        } else {
                            t = new Photo(d, listeFichier[i], listeFichier[i].getName());
                            d.addChild(t, d.getIndex(t));
                        }
                        
                    }
                }
                
            }
            
        }
    }
    
    public void visitePhoto(Photo p) {
    }

    public void visiteRacineDossier(RacineDossier racineDossier) {
    }
    
}
